// 获取DOM元素
const createAttendanceForm = document.getElementById('create-attendance-form');
const attendanceTableBody = document.getElementById('attendance-table-body');

// 点名记录数组，用于存储所有点名记录
let attendanceRecords = [];

// 设置全局计数器，确保ID递增
let attendanceIdCounter = 1;  // 初始ID为1

// 创建点名记录的事件处理
createAttendanceForm.addEventListener('submit', function(event) {
  event.preventDefault(); // 防止表单提交页面刷新

  // 获取表单中的开始时间和结束时间
  const startTime = document.getElementById('start-time').value;
  const endTime = document.getElementById('end-time').value;

  if (!startTime || !endTime) {
    alert('请填写完整的时间信息');
    return;
  }

  // 生成新的点名记录对象
  const newRecord = {
    startTime: startTime,
    endTime: endTime
  };

  // 调用后端接口创建点名记录
  $.ajax({
    url: 'http://localhost:8083/api/roll-call/create', // 后端创建点名记录的接口
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify(newRecord),
    success: function(response) {
      if (response.code === 200) {
        alert("点名记录创建成功");
        fetchRollCallList(); // 创建成功后刷新点名记录列表
      } else {
        alert("点名记录创建失败");
      }
    },
    error: function(xhr, status, error) {
      console.error('点名记录创建失败:', error);
    }
  });

  // 重置表单
  createAttendanceForm.reset();
});

// 更新点名记录表格
function updateAttendanceTable() {
  // 清空现有的表格内容
  attendanceTableBody.innerHTML = '';

  // 遍历所有点名记录并动态添加到表格中
  attendanceRecords.forEach(record => {
    const row = document.createElement('tr');
    row.innerHTML = `
      <td>${record.id}</td>
      <td>${record.startTime}</td>
      <td>${record.endTime}</td>
      <td><button onclick="viewAttendance(${record.id})">查看点名详情</button></td>
    `;
    attendanceTableBody.appendChild(row);
  });
}

// 获取点名记录列表
function fetchRollCallList() {
  // 获取课程ID，假设通过 URL 查询参数获得
  const courseId = new URLSearchParams(window.location.search).get('courseId');

  if (!courseId) {
    alert("课程ID缺失");
    return;
  }

  $.ajax({
    url: `http://localhost:8083/api/${courseId}/roll-calls?pageNum=1&pageSize=10`, // 后端获取点名记录的接口
    type: 'POST',
    success: function(response) {
      if (response.code === 200) {
        attendanceRecords = response.data.records; // 假设返回的数据中包含记录
        updateAttendanceTable(); // 更新点名记录表格
      } else {
        alert("获取点名记录列表失败");
      }
    },
    error: function(xhr, status, error) {
      console.error('获取点名记录失败:', error);
    }
  });
}

// 查看点名记录详情
function viewAttendance(attendanceId) {
  alert("查看点名记录 ID: " + attendanceId);
  // 跳转到点名记录详情页面
  window.location.href = "attendance-detail.html?attendanceId=" + attendanceId;
}

// 退出功能
document.getElementById('logout-btn').addEventListener('click', () => {
  window.location.href = "login.html";
});

// 页面初始化时获取点名记录列表
$(document).ready(function() {
  fetchRollCallList(); // 加载点名记录列表
});
